Mackerel 公式チェックプラグインを使ってping監視/sshログイン監視/その他をしてみる
おはようございます、もきゅりんです。
掲題の通り、公式チェックプラグイン集をインストールして、ping監視、sshログイン監視、ユーザー追加、パスワード変更監視を設定してみました。
前提
- Mackerelのアカウントを取得している
- インターネット接続およびSSHログインできるEC2インスタンスがいる
やること
- とりあえずMackerel-Agentをインストールする
- プラグインをインストールする
- ping監視/テスト
- ユーザー追加、パスワード変更監視/テスト
1. とりあえずMackerel-Agentをインストールする
この手順については、ザッと進めてしまいます。
SSMで対応するわけでも、Ansibleで対応するわけでもUserData使うわけでもなく、手動でインストールします。
今回はAmazon Linux2で対応しています。
Mackerelの管理画面から出力される、こちらのコマンドを対象のサーバで実行します。
ちょっとすると、Hosts画面にサーバが追加されるはずです。
2. プラグインをインストールする
こちらを参考に、
プラグインをインストールします。
sudo yum install mackerel-check-plugins
インストールできたら、下記、ping、sshログイン、ユーザ追加、パスワード変更それぞれを監視する設定を行い、テストしてみます。
3. ping監視/テスト
この例では、同VPC内にもう1つサーバを作成してテストします。
セキュリティグループを作成して、pingされるサーバに設定しておきます。
confファイルに設定を記述します。
# /etc/mackerel-agent/mackerel-agent.conf # 追記 [plugin.checks.check-ping-sample] command = ["check-ping", "-H", "TARGET_INSTANCE_IP", "-n", "5", "-w", "100"]
再起動します。
# mackerelの設定エラーを確認 mackerel-agent configtest sudo systemctl restart mackerel-agent
設定した監視項目が増えています。
サーバを落とす、セキュリティグループを変更するなどしてみると、
アラートメールが送信されます。
Hosts画面ではアラート表示されています。
うまくいきましたね。
4. ユーザー追加、パスワード変更監視/テスト
次にユーザー追加、パスワード変更監視です。
こちらを参考に、
/var/log/secure
のsession opened
とnew user
、password changed
の文言からアラートを呼び出すようにしてみます。
先ほど同様、confファイルにそれぞれの設定を追記します。
# /etc/mackerel-agent/mackerel-agent.conf # 追記 [plugin.checks.ssh_open] command = ["check-log", "--file", "/var/log/secure", "--pattern", "session opened"] # 自動クローズ防止 prevent_alert_auto_close = true [plugin.checks.user_add] command = ["check-log", "--file", "/var/log/secure", "--pattern", "new user"] prevent_alert_auto_close = true [plugin.checks.password_changed] command = ["check-log", "--file", "/var/log/secure", "--pattern", "password changed"] prevent_alert_auto_close = true
監視項目が増えています。
sshでサーバーにログインして、ユーザ追加、パスワード変更を続けて実行します。
# ユーザー追加 sudo useradd hoge # パスワード変更 sudo passwd hoge
まっかっかになりました。
手動でアラートを閉じます。
元の緑色に戻りました。
かなり簡単にチェック項目を増やすことが出来ますね。便利でございます。
以上です。
どなたかのお役に立てば幸いです。